<!DOCTYPE html>
<html lang="zh">
<head>
    <th:block th:include="include :: header('Summernote富文本编辑器')"/>
    <th:block th:include="include :: summernote-css"/>
</head>
<body class="gray-bg">
<div class="wrapper wrapper-content">
    <div class="row">
        <div class="col-sm-12">
            <div class="ibox float-e-margins">
                <div class="ibox-title">
                    <h5>Summernote 富文本编辑器</h5>
                </div>
                <div class="ibox-content">
                    <div class="summernote">
                        <h2>若依后台管理系统</h2>
                        <p>
                            ruoyi是一个完全响应式，基于Bootstrap3.3.7最新版本开发的扁平化主题，她采用了主流的左右两栏式布局，使用了Html5+CSS3等现代技术，她提供了诸多的强大的可以重新组合的UI组件，并集成了最新的jQuery版本(v2.1.1)，当然，也集成了很多功能强大，用途广泛的就jQuery插件，她可以用于所有的Web应用程序，如<b>网站管理后台</b>，<b>网站会员中心</b>，<b>CMS</b>，<b>CRM</b>，<b>OA</b>等等，当然，您也可以对她进行深度定制，以做出更强系统。
                        </p>
                        <p>
                            <b>当前版本：</b>v4.7.3
                        </p>
                        <p>
                            <span class="label label-warning">免费开源</span>
                        </p>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-sm-12">
            <div class="ibox float-e-margins">
                <div class="ibox-content">
                    <h2>Summernote</h2>
                    <p>
                        Summernote是一个简单的基于Bootstrap的WYSIWYG富文本编辑器
                    </p>
                    <div class="alert alert-warning"> 官方文档请参考：
                        <a href="https://github.com/summernote/summernote">https://github.com/summernote/summernote</a>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-sm-12">
            <div class="ibox float-e-margins">
                <div class="ibox-title">
                    <h5>编辑/保存为html代码示例</h5>
                    <button id="edit" class="btn btn-primary btn-xs m-l-sm" onclick="edit()" type="button">编辑</button>
                    <button id="save" class="btn btn-primary  btn-xs" onclick="save()" type="button">保存</button>
                </div>
                <div class="ibox-content" id="eg">
                    <div class="click2edit wrapper summernote">

                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: summernote-js"/>
<script>
    $(document).ready(function () {
        $('.click2edit').summernote({
            lang: 'zh-CN',
            placeholder: "1、在此输入文字；2、插入图片可保存到服务器；3、通过键盘清除键可删除服务器的图片；4、可添加emojis",
            callbacks: {
                onImageUpload: function (files, editor, $editable) {
                    for (var i = 0; i < files.length; i++) {
                        saveFile(files[i], editor, $editable);
                    }
                }
            }
        });
    });
    var edit = function () {
        $("#eg").addClass("no-padding");
        $('.click2edit').summernote({
            lang: 'zh-CN',
            focus: true
        });
    };
    var save = function () {
        $("#eg").removeClass("no-padding");
        var aHTML = $('.click2edit').summernote('code');
        $('.click2edit').summernote('destroy');
    };

    function saveFile(file, editor, $editable) {
        // files是上传的图片集合，这里案例只是单张图片上传，网上教程一大推，此处代码省略
        var formdata = new FormData();//存放上传的文件数据
        // 此处 $('.note-image-input')[0].files[0]与方法传过来的参数files[0]应该等价，可以自己尝试是否等价
        formdata.append("file", file);
        $.ajax({
            data: formdata,
            type: "POST",
            url: "/upload/img", // 上传图片请求服务器地址，（请写你自己的请求地址）
            cache: false,
            contentType: false,
            processData: false,
            dataType: "text",
            success: function (src) {
                // src是服务器上传文件响应数据，格式自定义，这里响应数据是文件上传后的可访问的路径
                if (src != null && src != "") {
                    // 上传成功，处理逻辑
                    // 回显图片
                    $('.click2edit').summernote('editor.insertImage', src);
                    $('.click2edit').summernote("\r\n");
                    // editor.insertImage($editable, src);
                } else {
                    // 上传失败，处理逻辑
                    console.log("文件上传成功，但是没有收到服务器返回的src");
                }
            },
            error: function () {
                // 上传出错，处理逻辑
                console.log("文件上传失败了");
            }
        });
    }
</script>
</body>
</html>
